500
How can I get the number of results after a filter is applied

// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
void OnClickList1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	spList1->ClearFilter();
}

// FilterChange event - Occurs when filter was changed.
void OnFilterChangeList1()
{
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	OutputDebugStringW( L"Items.MatchItemCount" );
	OutputDebugStringW( _bstr_t(spList1->GetItems()->GetMatchItemCount()) );
	OutputDebugStringW( _bstr_t(spList1->FormatABC(L"value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`",spList1->GetItems()->GetMatchItemCount(),vtMissing,vtMissing)) );
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarPromptVisible(EXLISTLib::exFilterBarPromptVisible);
spList1->PutFilterBarPromptPattern(L"Item");
spList1->EndUpdate();

499
How can I programmatically clear the control's filter
// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
void OnClickList1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	spList1->ClearFilter();
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarPromptVisible(EXLISTLib::exFilterBarPromptVisible);
spList1->PutFilterBarPromptPattern(L"B");
spList1->EndUpdate();

498
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarPromptPattern(L"B");
spList1->PutFilterBarPromptVisible(EXLISTLib::FilterBarVisibleEnum(EXLISTLib::exFilterBarVisible | EXLISTLib::exFilterBarPromptVisible));
EXLISTLib::IColumnPtr var_Column1 = spList1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXLISTLib::exFilter);
	var_Column1->PutFilter(L"Item B");
spList1->ApplyFilter();
spList1->EndUpdate();

497
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarPromptVisible(EXLISTLib::exFilterBarPromptVisible);
spList1->PutFilterBarPromptPattern(L"B");
spList1->EndUpdate();

496
Is it possible to prevent closing the control's filter bar, so it is always shown

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->PutFilterBarCaption(L"len(value) = 0 ? `<fgcolor=808080>no filter` : value");
spList1->PutFilterBarPromptVisible(EXLISTLib::exFilterBarVisible);
EXLISTLib::IColumnPtr var_Column1 = spList1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXLISTLib::exFilter);
	var_Column1->PutFilter(L"Item B");
spList1->ApplyFilter();
spList1->EndUpdate();

495
How can I find if the control is running in DPI mode
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
OutputDebugStringW( _bstr_t(spList1->FormatABC(L"dpi = 1 ? `normal/stretch mode` : `dpi mode`",vtMissing,vtMissing,vtMissing)) );

494
I am using single selection, the question is if possible to select an item only when the user releases the mouse, as currently it selects the item as soon as the user clicks it
// SelectionChanged event - Fired after a new item is selected.
void OnSelectionChangedList1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	OutputDebugStringW( L"SelectionChanged" );
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->FreezeEvents(VARIANT_TRUE);
spList1->PutSingleSel(VARIANT_TRUE);
spList1->PutSelectOnRelease(VARIANT_TRUE);
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Column")))->PutFormatColumn(L"1 apos `A-Z`");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("");
	var_Items->PutSelectItem(var_Items->Add(""),VARIANT_TRUE);
	var_Items->Add("");
spList1->FreezeEvents(VARIANT_FALSE);
spList1->EndUpdate();

493
Is it possible to select nothing
// SelectionChanged event - Fired after a new item is selected.
void OnSelectionChangedList1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	OutputDebugStringW( L"SelectionChanged" );
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->FreezeEvents(VARIANT_TRUE);
spList1->PutAllowSelectNothing(VARIANT_TRUE);
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Column")))->PutFormatColumn(L"1 apos `A-Z`");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("");
	var_Items->PutSelectItem(var_Items->Add(""),VARIANT_TRUE);
	var_Items->Add("");
spList1->FreezeEvents(VARIANT_FALSE);
spList1->EndUpdate();

492
How do I change the drop down filter icon/button (black)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IAppearancePtr var_Appearance = spList1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ") +
"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA");
spList1->PutBackground(EXLISTLib::exCursorHoverColumn,-1);
spList1->PutBackground(EXLISTLib::exHeaderFilterBarButton,0x1000000);
spList1->PutBackground(EXLISTLib::exBackColorFilter,RGB(0,0,1));
spList1->PutBackground(EXLISTLib::exForeColorFilter,RGB(255,255,255));
spList1->PutDescription(EXLISTLib::exFilterBarExclude,L"<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>");
spList1->PutHeaderAppearance(EXLISTLib::None2);
spList1->PutBackColorHeader(RGB(0,0,0));
spList1->PutForeColorHeader(RGB(255,255,255));
spList1->PutHeaderVisible(VARIANT_TRUE);
spList1->PutBackColorLevelHeader(spList1->GetBackColor());
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Filter")));
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowCheckBox));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutAllowDragging(VARIANT_FALSE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("One");
	var_Items->Add("Two");
	var_Items->Add("Three");
spList1->EndUpdate();

491
How do I change the drop down filter icon/button (white)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IAppearancePtr var_Appearance = spList1->GetVisualAppearance();
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN") +
"J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" +
"NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" +
"hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +
"bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" +
"BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=");
	var_Appearance->Add(1,"CP:2 -14 -4 -2 4");
spList1->PutBackground(EXLISTLib::exHeaderFilterBarButton,0x1000000);
spList1->PutBackground(EXLISTLib::exCursorHoverColumn,spList1->GetBackColor());
spList1->PutHeaderAppearance(EXLISTLib::None2);
spList1->PutBackColorHeader(RGB(255,255,255));
spList1->PutHeaderVisible(VARIANT_TRUE);
spList1->PutHeaderHeight(24);
spList1->PutBackColorLevelHeader(spList1->GetBackColor());
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Filter")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutAllowDragging(VARIANT_FALSE);
spList1->EndUpdate();

490
Can I display the column's multiple-lines caption vertically oriented (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutHeaderHeight(48);
spList1->PutColumnAutoResize(VARIANT_TRUE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"And others ...");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"")));
		var_Column->PutHTMLCaption(L"First Column");
		var_Column->PutHeaderVertical(VARIANT_TRUE);
		var_Column->PutWidth(36);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column->PutDef(EXLISTLib::exCellPaddingLeft,long(8));
		var_Column->PutPosition(0);
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"")));
		var_Column1->PutHTMLCaption(L"<c><b>Second Column");
		var_Column1->PutHeaderVertical(VARIANT_TRUE);
		var_Column1->PutWidth(36);
		var_Column1->PutAllowSizing(VARIANT_FALSE);
		var_Column1->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column1->PutDef(EXLISTLib::exCellPaddingLeft,long(8));
		var_Column1->PutPosition(1);
	EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"")));
		var_Column2->PutHTMLCaption(L"<r>Third Column");
		var_Column2->PutHeaderVertical(VARIANT_TRUE);
		var_Column2->PutWidth(36);
		var_Column2->PutAllowSizing(VARIANT_FALSE);
		var_Column2->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column2->PutDef(EXLISTLib::exCellPaddingLeft,long(8));
		var_Column2->PutPosition(2);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCellState(var_Items->Add("Item 1"),long(3),1);
	var_Items->PutCellState(var_Items->Add("Item 2"),long(2),1);
	var_Items->PutCellState(var_Items->Add("Item 3"),long(1),1);
spList1->EndUpdate();

489
Can I display the column's multiple-lines caption vertically oriented (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutHeaderHeight(48);
spList1->PutHeaderSingleLine(VARIANT_FALSE);
spList1->PutColumnAutoResize(VARIANT_TRUE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"And others ...");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"First Column")));
		var_Column->PutHeaderVertical(VARIANT_TRUE);
		var_Column->PutWidth(36);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column->PutDef(EXLISTLib::exCellPaddingLeft,long(8));
		var_Column->PutPosition(0);
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Second Column")));
		var_Column1->PutHeaderBold(VARIANT_TRUE);
		var_Column1->PutHeaderVertical(VARIANT_TRUE);
		var_Column1->PutWidth(36);
		var_Column1->PutAllowSizing(VARIANT_FALSE);
		var_Column1->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column1->PutDef(EXLISTLib::exCellPaddingLeft,long(8));
		var_Column1->PutPosition(1);
	EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Third Column")));
		var_Column2->PutHeaderVertical(VARIANT_TRUE);
		var_Column2->PutWidth(36);
		var_Column2->PutAllowSizing(VARIANT_FALSE);
		var_Column2->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column2->PutDef(EXLISTLib::exCellPaddingLeft,long(8));
		var_Column2->PutPosition(2);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCellState(var_Items->Add("Item 1"),long(3),1);
	var_Items->PutCellState(var_Items->Add("Item 2"),long(2),1);
	var_Items->PutCellState(var_Items->Add("Item 3"),long(1),1);
spList1->EndUpdate();

488
Can I display the column's caption vertically oriented (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutHeaderHeight(48);
spList1->PutColumnAutoResize(VARIANT_TRUE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"And others ...");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"")));
		var_Column->PutHTMLCaption(L"First");
		var_Column->PutHeaderVertical(VARIANT_TRUE);
		var_Column->PutWidth(20);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column->PutPosition(0);
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"")));
		var_Column1->PutHTMLCaption(L"<c><b>Second");
		var_Column1->PutHeaderVertical(VARIANT_TRUE);
		var_Column1->PutWidth(20);
		var_Column1->PutAllowSizing(VARIANT_FALSE);
		var_Column1->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column1->PutPosition(1);
	EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"")));
		var_Column2->PutHTMLCaption(L"<r>Third");
		var_Column2->PutHeaderVertical(VARIANT_TRUE);
		var_Column2->PutWidth(20);
		var_Column2->PutAllowSizing(VARIANT_FALSE);
		var_Column2->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column2->PutPosition(2);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCellState(var_Items->Add("Item 1"),long(3),1);
	var_Items->PutCellState(var_Items->Add("Item 2"),long(2),1);
	var_Items->PutCellState(var_Items->Add("Item 3"),long(1),1);
spList1->EndUpdate();

487
Can I display the column's caption vertically oriented (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutHeaderHeight(48);
spList1->PutColumnAutoResize(VARIANT_TRUE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"And others ...");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"First")));
		var_Column->PutHeaderVertical(VARIANT_TRUE);
		var_Column->PutWidth(20);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column->PutPosition(0);
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Second")));
		var_Column1->PutHeaderBold(VARIANT_TRUE);
		var_Column1->PutHeaderVertical(VARIANT_TRUE);
		var_Column1->PutWidth(20);
		var_Column1->PutAllowSizing(VARIANT_FALSE);
		var_Column1->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column1->PutPosition(1);
	EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Third")));
		var_Column2->PutHeaderVertical(VARIANT_TRUE);
		var_Column2->PutWidth(20);
		var_Column2->PutAllowSizing(VARIANT_FALSE);
		var_Column2->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column2->PutPosition(2);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCellState(var_Items->Add("Item 1"),long(3),1);
	var_Items->PutCellState(var_Items->Add("Item 2"),long(2),1);
	var_Items->PutCellState(var_Items->Add("Item 3"),long(1),1);
spList1->EndUpdate();

486
How do I get sorted the column as string, numeric, date, date and time. Also how can it be applied to drop down filter panel

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Date")));
	var_Column->PutSortType(EXLISTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsDesc));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"DateTime")));
	var_Column1->PutSortType(EXLISTLib::SortDateTime);
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column1->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsDesc));
EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Time")));
	var_Column2->PutSortType(EXLISTLib::SortTime);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsDesc));
	var_Column2->PutFormatColumn(L"time(value)");
EXLISTLib::IColumnPtr var_Column3 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Numeric")));
	var_Column3->PutSortType(EXLISTLib::SortNumeric);
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsDesc));
EXLISTLib::IColumnPtr var_Column4 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"String")));
	var_Column4->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column4->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exSortItemsDesc));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(COleDateTime(2010,1,27,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(1),COleDateTime(2010,1,27,10,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),var_Items->GetCaption(h,long(1)));
	var_Items->PutCaption(h,long(3),long(1));
	var_Items->PutCaption(h,long(4),var_Items->GetCaption(h,long(3)));
	h = var_Items->Add(COleDateTime(2011,1,27,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(1),COleDateTime(2011,1,27,9,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),var_Items->GetCaption(h,long(1)));
	var_Items->PutCaption(h,long(3),long(11));
	var_Items->PutCaption(h,long(4),var_Items->GetCaption(h,long(3)));
	h = var_Items->Add(COleDateTime(2010,11,2,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(1),COleDateTime(2010,11,2,9,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),var_Items->GetCaption(h,long(1)));
	var_Items->PutCaption(h,long(3),long(2));
	var_Items->PutCaption(h,long(4),var_Items->GetCaption(h,long(3)));
spList1->GetColumns()->GetItem("DateTime")->PutDisplayFilterDate(VARIANT_FALSE);
spList1->EndUpdate();

485
How can I get ride / hide the image being dragged by OLE Drag and Drop
// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragList1(LPDISPATCH   Data,long FAR*   AllowedEffects)
{
	// Data.SetData("data to drag")
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	AllowedEffects = 1;
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->PutOLEDropMode(EXLISTLib::exOLEDropManual);
spList1->PutBackground(EXLISTLib::exDragDropAfter,RGB(255,255,255));
spList1->GetColumns()->Add(L"Default");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");

484
Is there an event that fires on the exList control when the order of items in the list is changed via dragging
// AllowAutoDrag event - Occurs when the user drags the item between InsertA and InsertB.
void OnAllowAutoDragList1(long   Item,long   InsertA,long   InsertB,BOOL FAR*   Cancel)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
		OutputDebugStringW( L"After" );
		OutputDebugStringW( _bstr_t(var_Items->GetCaption(InsertA,long(0))) );
		OutputDebugStringW( L"Before" );
		OutputDebugStringW( _bstr_t(var_Items->GetCaption(InsertB,long(0))) );
	Cancel = VARIANT_TRUE;
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutAutoDrag(EXLISTLib::exAutoDragPosition);
spList1->GetColumns()->Add(L"Task");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
	var_Items->Add("Item 4");
spList1->EndUpdate();

483
How can I export checked items only

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C1")))->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C2")))->PutFormatColumn(L"1 index `A-Z`");
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C3")))->PutFormatColumn(L"100 index ``");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->PutCellState(var_Items->Add("Item 2"),long(0),1);
	var_Items->PutCellState(var_Items->Add("Item 3"),long(0),1);
spList1->EndUpdate();
OutputDebugStringW( L"Export CSV Checked Items Only:" );
OutputDebugStringW( _bstr_t(spList1->Export("","chk")) );

482
How can I export a hidden column

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"C1");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C2")));
		var_Column->PutFormatColumn(L"1 index `A-Z`");
		var_Column->PutVisible(VARIANT_FALSE);
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C3")));
		var_Column1->PutFormatColumn(L"100 index ``");
		var_Column1->PutVisible(VARIANT_FALSE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
spList1->EndUpdate();
OutputDebugStringW( L"Export CSV Hidden Columns (1,2):" );
OutputDebugStringW( _bstr_t(spList1->Export("","|1,2")) );

481
Is it possible to have a different alignment for parts of the cell's caption

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutDrawGridLines(EXLISTLib::exAllLines);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Default")));
	var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCellHAlignment(var_Items->Add("all-left"),long(0),EXLISTLib::LeftAlignment);
	var_Items->PutCellHAlignment(var_Items->Add("all-center"),long(0),EXLISTLib::CenterAlignment);
	var_Items->PutCellHAlignment(var_Items->Add("all-right"),long(0),EXLISTLib::RightAlignment);
	long h = var_Items->Add("left<c>center<r>right");
	var_Items->PutCaptionFormat(h,long(0),EXLISTLib::exHTML);
spList1->EndUpdate();

480
I have a column with Def(exCellSingleLine) property on False, word-wrapping, and I am wondering if possible to update the column's content while user is resizing it
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"MultipleLine")));
		var_Column->PutWidth(32);
		var_Column->PutDef(EXLISTLib::exCellSingleLine,VARIANT_FALSE);
		var_Column->PutDef(EXLISTLib::exColumnResizeContiguously,VARIANT_TRUE);
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"SingleLine")));
		var_Column1->PutDef(EXLISTLib::exCellSingleLine,VARIANT_FALSE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("This is a bit of long text that should break the line"),long(1),"This is a bit of long text that should break the line");
spList1->EndUpdate();

479
How can I hide the cell's tooltip
// ToolTip event - Fired when the control prepares the object's tooltip.
void OnToolTipList1(long   ItemIndex,long   ColIndex,BOOL FAR*   Visible,long FAR*   X,long FAR*   Y,long   CX,long   CY)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	OutputDebugStringW( L"The tooltip is about to be shown" );
	Visible = VARIANT_FALSE;
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetColumns()->Add(L"Def");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCellToolTip(var_Items->Add("Item 1"),long(0),L"This is a bit of text that's shown when cursor hovers the item.");
	var_Items->PutCellToolTip(var_Items->Add("Item 2"),long(0),L"This is a bit of text that's shown when cursor hovers the item.");
	var_Items->PutCellToolTip(var_Items->Add("Item 3"),long(0),L"This is a bit of text that's shown when cursor hovers the item.");
spList1->EndUpdate();

478
How can I find out if an item is selected or unselected
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveList1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	long i = spList1->GetItemFromPoint(-1,-1,c,hit);
	EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
		OutputDebugStringW( _bstr_t(var_Items->GetSelectItem(i)) );
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->GetColumns()->Add(L"Header");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->PutSelectItem(var_Items->Add("Item 2"),VARIANT_TRUE);
	var_Items->Add("Item 3");

477
How do I sort the index column as numeric

// AddItem event - Occurs after a new Item is inserted to Items collection.
void OnAddItemList1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
		var_Items->PutCellData(Item,long(1),Item);
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutDrawGridLines(EXLISTLib::exAllLines);
spList1->PutColumnAutoResize(VARIANT_TRUE);
spList1->PutShowFocusRect(VARIANT_FALSE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Next")));
	var_Column->PutDef(EXLISTLib::exCellPaddingLeft,long(4));
	var_Column->PutDef(EXLISTLib::exHeaderPaddingLeft,long(4));
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Index")));
	var_Column1->PutAllowSizing(VARIANT_FALSE);
	var_Column1->PutWidth(48);
	var_Column1->PutFormatColumn(L"(((0 := (1 index ``)) mod 3) case ( default: ``; 0 : `<r><fgcolor=B0B0B0>`; 1: ``; 2 : `<c><fgcolor=808080>` )) + str(=:0)");
	var_Column1->PutDef(EXLISTLib::exCaptionFormat,long(1));
	var_Column1->PutSortType(EXLISTLib::SortUserData);
	var_Column1->PutPosition(0);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
	var_Items->Add("Item 4");
	var_Items->Add("Item 5");
	var_Items->Add("Item 6");
	var_Items->Add("Item 7");
	var_Items->Add("Item 8");
	var_Items->Add("Item 9");
	var_Items->Add("Item 10");
spList1->EndUpdate();

476
How can I put icons/images into buttons

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_TRUE);
spList1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"C+B")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutWidth(48);
	var_Column->PutFormatColumn(L"` <img>` + ( 1 + (1 index ``) mod 3 ) + `</img> `");
	var_Column->PutDef(EXLISTLib::exCaptionFormat,long(1));
	var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutDef(EXLISTLib::exCellHasButton,VARIANT_TRUE);
	var_Column->PutDef(EXLISTLib::DefColumnEnum(EXLISTLib::exCellHasButton | EXLISTLib::exCellHasRadioButton),VARIANT_TRUE);
spList1->GetColumns()->Add(L"");
spList1->PutDrawGridLines(EXLISTLib::exVLines);
spList1->PutDefaultItemHeight(20);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
spList1->EndUpdate();

475
Is it possible to have a CheckBox and Button TOGETHER on all cells in a column

// CellButtonClick event - Fired after the user clicks the cell's button.
void OnCellButtonClickList1(long   Item,long   ColIndex)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	OutputDebugStringW( L"CellButtonClick" );
	OutputDebugStringW( L"Item" );
}

// CellStateChanged event - Fired after cell's state is changed.
void OnCellStateChangedList1(long   Item,long   ColIndex)
{
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	OutputDebugStringW( L"CellStateChanged" );
	OutputDebugStringW( L"Item" );
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 index ``");
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")));
	var_Column1->PutAllowSizing(VARIANT_FALSE);
	var_Column1->PutWidth(48);
	var_Column1->PutFormatColumn(L"`     `");
	var_Column1->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column1->PutDef(EXLISTLib::exCellHasButton,VARIANT_TRUE);
	var_Column1->PutDef(EXLISTLib::DefColumnEnum(EXLISTLib::exCellHasButton | EXLISTLib::exCellHasRadioButton),VARIANT_TRUE);
spList1->GetColumns()->Add(L"");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
	var_Items->Add("");
spList1->EndUpdate();

474
Does filtering work with umlauts / accents characters
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Names")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterType(EXLISTLib::exPattern);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Mantel");
	var_Items->Add("Mechanik");
	var_Items->Add("Motor");
	var_Items->Add("Murks");
	var_Items->Add("Märchen");
	var_Items->Add("Möhren");
	var_Items->Add("Mühle");
	var_Items->Add("Sérigraphie");
spList1->GetColumns()->GetItem(long(0))->PutFilter(L"*ä*");
spList1->ApplyFilter();
spList1->EndUpdate();

473
Can I set the search box / filterbarprompt to invisible, so I can use my own input and *string* via VBA
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_TRUE);
spList1->PutContinueColumnScroll(VARIANT_FALSE);
spList1->PutMarkSearchColumn(VARIANT_FALSE);
spList1->PutSearchColumnIndex(1);
spList1->PutFilterBarHeight(0);
spList1->PutFilterBarPromptVisible(VARIANT_TRUE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Name")))->PutWidth(96);
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Title")))->PutWidth(96);
	var_Columns->Add(L"City");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h0 = var_Items->Add("Nancy Davolio");
	var_Items->PutCaption(h0,long(1),"Sales Representative");
	var_Items->PutCaption(h0,long(2),"Seattle");
	h0 = var_Items->Add("Andrew Fuller");
	var_Items->PutCaption(h0,long(1),"Vice President, Sales");
	var_Items->PutCaption(h0,long(2),"Tacoma");
	var_Items->PutSelectItem(h0,VARIANT_TRUE);
	h0 = var_Items->Add("Janet Leverling");
	var_Items->PutCaption(h0,long(1),"Sales Representative");
	var_Items->PutCaption(h0,long(2),"Kirkland");
	h0 = var_Items->Add("Margaret Peacock");
	var_Items->PutCaption(h0,long(1),"Sales Representative");
	var_Items->PutCaption(h0,long(2),"Redmond");
	h0 = var_Items->Add("Steven Buchanan");
	var_Items->PutCaption(h0,long(1),"Sales Manager");
	var_Items->PutCaption(h0,long(2),"London");
	h0 = var_Items->Add("Michael Suyama");
	var_Items->PutCaption(h0,long(1),"Sales Representative");
	var_Items->PutCaption(h0,long(2),"London");
	h0 = var_Items->Add("Robert King");
	var_Items->PutCaption(h0,long(1),"Sales Representative");
	var_Items->PutCaption(h0,long(2),"London");
	h0 = var_Items->Add("Laura Callahan");
	var_Items->PutCaption(h0,long(1),"Inside Sales Coordinator");
	var_Items->PutCaption(h0,long(2),"Seattle");
	h0 = var_Items->Add("Anne Dodsworth");
	var_Items->PutCaption(h0,long(1),"Sales Representative");
	var_Items->PutCaption(h0,long(2),"London");
spList1->PutFilterBarPromptPattern(L"London");
spList1->EndUpdate();

472
How can I align captions of items with checkbox, with items with no checkbox

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetColumns()->Add(L"Default");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCellImages(var_Items->Add(long(0)),long(0),"1");
	var_Items->PutCellHasCheckBox(var_Items->Add(long(1)),long(0),VARIANT_TRUE);
	var_Items->PutCellImages(var_Items->Add(long(2)),long(0),"1");
spList1->EndUpdate();

471
How do I programmatically scroll the control (method 2)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_FALSE);
spList1->PutContinueColumnScroll(VARIANT_FALSE);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExList\\Sample\\Access\\SAMPLE.ACCDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spList1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spList1->PutLayout(L"vscroll = 10");
spList1->EndUpdate();

470
How do I programmatically scroll the control (method 1)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_FALSE);
spList1->PutContinueColumnScroll(VARIANT_FALSE);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExList\\Sample\\Access\\SAMPLE.ACCDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spList1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spList1->PutScrollPos(VARIANT_TRUE,10);
spList1->EndUpdate();

469
How can I decode the Layout property
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"C1");
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C2")))->PutPosition(1);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("SubItem 1.1"),long(1),"SubItem 1.2");
	var_Items->PutCaption(var_Items->Add("SubItem 2.1"),long(1),"SubItem 2.2");
spList1->GetColumns()->GetItem("C2")->PutSortOrder(EXLISTLib::SortDescending);
spList1->EndUpdate();
OutputDebugStringW( L"Encoded:" );
OutputDebugStringW( spList1->GetLayout() );
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXPRINTLib' for the library: 'ExPrint 1.0 Control Library'

	#import <ExPrint.dll>
	using namespace EXPRINTLib;
*/
EXPRINTLib::IExPrintPtr var_Print = ::CreateObject(L"Exontrol.Print");
	OutputDebugStringW( L"Decoded: " );
	OutputDebugStringW( var_Print->GetDecode64TextW(spList1->GetLayout()) );

468
Does the title of the cell's tooltip supports HTML format

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"")));
	var_Column->PutCaption(L"");
	var_Column->PutHTMLCaption(L"Column");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("tooltip w/h different title");
	var_Items->PutCellToolTip(h,long(0),_bstr_t("<c><b><fgcolor=FF0000>Title</fgcolor></b><br>This is bit of text that's shown when the user hovers the cell. This shows the tit") +
"le centered with a different color.");
spList1->EndUpdate();

467
How do I specify a different title for the cell's tooltip

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"")));
	var_Column->PutCaption(L"This is the title");
	var_Column->PutHTMLCaption(L"Column");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("tooltip w/h different title");
	var_Items->PutCellToolTip(h,long(0),L"This is bit of text that's shown when the user hovers the cell.");
spList1->EndUpdate();

466
The cell's tooltip displays the column's caption in its title. How can I get ride of that

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"C1");
	var_Columns->Add(L"C2");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("tooltip w/h caption");
	var_Items->PutCellToolTip(h,long(0),L"This is bit of text that's shown when the user hovers the cell. This shows the column's caption in the title.");
	var_Items->PutCaption(h,long(1),"tooltip no caption");
	var_Items->PutCellToolTip(h,long(1),L"This is bit of text that's shown when the user hovers the cell. This shows no column's caption in the title.");
EXLISTLib::IColumnPtr var_Column = spList1->GetColumns()->GetItem("C2");
	var_Column->PutHTMLCaption(var_Column->GetCaption());
	var_Column->PutCaption(L"");
spList1->EndUpdate();

465
When you click the cell it takes some time before the edit box appears, can this delay be removed

// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
void OnClickList1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	long h = spList1->GetItemFromPoint(-1,-1,ColIndex,HitTestInfo);
	spList1->GetItems()->Edit(h,ColIndex);
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->PutAllowEdit(VARIANT_TRUE);
spList1->GetColumns()->Add(L"Default");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("");
	var_Items->Add("Edit");
	var_Items->Add("");

464
How can I programmatically show the column's filter

// RClick event - Fired when right mouse button is clicked
void OnRClickList1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	long i = spList1->GetItemFromPoint(-1,-1,c,hit);
	spList1->GetColumns()->GetItem(c)->ShowFilter("-1,-1,128,128");
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutShowFocusRect(VARIANT_FALSE);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items ")));
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
spList1->EndUpdate();

463
I want to be able to click on one of the headers, and sort by other column. How can I do that

// ColumnClick event - Fired after the user clicks on column's header.
void OnColumnClickList1(LPDISPATCH   Column)
{
	// Column.SortOrder = 1
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	spList1->PutSortOnClick(EXLISTLib::exDefaultSort);
	spList1->GetColumns()->GetItem("Sort")->PutSortOrder(EXLISTLib::SortAscending);
	spList1->PutSortOnClick(EXLISTLib::exUserSort);
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutSortOnClick(EXLISTLib::exUserSort);
spList1->GetColumns()->Add(L"Items");
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Sort")))->PutVisible(VARIANT_FALSE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Item 1 (3)"),long(1),long(3));
	var_Items->PutCaption(var_Items->Add("Item 2 (1)"),long(1),long(1));
	var_Items->PutCaption(var_Items->Add("Item 3 (2)"),long(1),long(2));
spList1->EndUpdate();

462
How can I sort by two-columns, one by date and one by time

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutSingleSort(VARIANT_FALSE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Index")))->PutFormatColumn(L"1 index ``");
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Date")))->PutSortType(EXLISTLib::SortDate);
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Time")));
		var_Column->PutSortType(EXLISTLib::SortTime);
		var_Column->PutFormatColumn(L"time(value)");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(long(0));
	var_Items->PutCaption(h,long(1),COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),COleDateTime(2001,1,1,10,00,00).operator DATE());
	h = var_Items->Add(long(0));
	var_Items->PutCaption(h,long(1),COleDateTime(2000,12,31,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),COleDateTime(2001,1,1,10,00,00).operator DATE());
	h = var_Items->Add(long(0));
	var_Items->PutCaption(h,long(1),COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),COleDateTime(2001,1,1,6,00,00).operator DATE());
	h = var_Items->Add(long(0));
	var_Items->PutCaption(h,long(1),COleDateTime(2000,12,31,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),COleDateTime(2001,1,1,8,00,00).operator DATE());
	h = var_Items->Add(long(0));
	var_Items->PutCaption(h,long(1),COleDateTime(2001,1,1,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),COleDateTime(2001,1,1,8,00,00).operator DATE());
	h = var_Items->Add(long(0));
	var_Items->PutCaption(h,long(1),COleDateTime(2000,12,31,0,00,00).operator DATE());
	var_Items->PutCaption(h,long(2),COleDateTime(2001,1,1,6,00,00).operator DATE());
spList1->PutLayout(L"multiplesort=\"C1:1 C2:1\"");
spList1->EndUpdate();

461
How can I connect to a DBF file
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_FALSE);
spList1->PutContinueColumnScroll(VARIANT_FALSE);
spList1->PutMarkSearchColumn(VARIANT_FALSE);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADODB.Recordset");
	rs->Open("Select * From foxcode.DBF","Provider=vfpoledb;Data Source=C:\\Program Files\\Microsoft Visual FoxPro 9\\",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spList1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spList1->EndUpdate();

460
Does your control supports scrolling by touching the screen

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->PutColumnAutoResize(VARIANT_FALSE);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExList\\Sample\\Access\\SAMPLE.ACCDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spList1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spList1->PutContinueColumnScroll(VARIANT_TRUE);
spList1->PutScrollBySingleLine(VARIANT_TRUE);
spList1->PutAutoDrag(EXLISTLib::AutoDragEnum(EXLISTLib::exAutoDragScrollOnShortTouch | EXLISTLib::exAutoDragScroll));

459
How can I enlarge the size of the control's scroll bars, for using on touch screens

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->PutScrollBars(EXLISTLib::DisableBoth);
spList1->PutScrollWidth(32);
spList1->PutScrollHeight(32);
spList1->PutScrollButtonHeight(32);
spList1->PutScrollButtonWidth(32);

458
Is there a syntax for conditional formatting of items, based on CellState/CellStateChange

// CellStateChanged event - Fired after cell's state is changed.
void OnCellStateChangedList1(long   Item,long   ColIndex)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
		var_Items->PutCaption(Item,long(2),var_Items->GetCellState(Item,long(0)));
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutShowFocusRect(VARIANT_FALSE);
spList1->PutMarkSearchColumn(VARIANT_FALSE);
spList1->PutSelBackMode(EXLISTLib::exTransparent);
EXLISTLib::IConditionalFormatPtr var_ConditionalFormat = spList1->GetConditionalFormats()->Add(L"%2 != 0",vtMissing);
	var_ConditionalFormat->PutBold(VARIANT_TRUE);
	var_ConditionalFormat->PutForeColor(RGB(255,0,0));
	var_ConditionalFormat->PutApplyTo(EXLISTLib::exFormatToItems);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"")));
	var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutWidth(16);
	var_Column->PutAllowSizing(VARIANT_FALSE);
spList1->GetColumns()->Add(L"Information");
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Hidden")))->PutVisible(VARIANT_FALSE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add(""),long(1),"This is a bit of text associated");
	long h = var_Items->Add("");
	var_Items->PutCaption(h,long(1),"This is a bit of text associated");
	var_Items->PutCellState(h,long(0),1);
	var_Items->PutCaption(var_Items->Add(""),long(1),"This is a bit of text associated");
spList1->EndUpdate();

457
How can I display the caption bellow to picture

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutScrollBySingleLine(VARIANT_TRUE);
spList1->PutHTMLPicture(L"p1","c:\\exontrol\\images\\zipdisk.gif");
spList1->PutHTMLPicture(L"p2","c:\\exontrol\\images\\auction.gif");
spList1->GetColumns()->Add(L"Default");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("<c><img>p1</img><br><c>your caption1");
	var_Items->PutCellSingleLine(h,long(0),EXLISTLib::exCaptionWordWrap);
	var_Items->PutCaptionFormat(h,long(0),EXLISTLib::exHTML);
	h = var_Items->Add("<c><img>p2</img><br><c>your caption2");
	var_Items->PutCellSingleLine(h,long(0),EXLISTLib::exCaptionWordWrap);
	var_Items->PutCaptionFormat(h,long(0),EXLISTLib::exHTML);
spList1->EndUpdate();

456
How can I add a vertical padding

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutDrawGridLines(EXLISTLib::exAllLines);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Padding")));
	var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutDef(EXLISTLib::exCellSingleLine,VARIANT_FALSE);
	var_Column->PutDef(EXLISTLib::exCellPaddingLeft,long(6));
	var_Column->PutDef(EXLISTLib::exCellPaddingRight,long(6));
	var_Column->PutDef(EXLISTLib::exCellPaddingTop,long(6));
	var_Column->PutDef(EXLISTLib::exCellPaddingBottom,long(6));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("padding");
	var_Items->Add("padding");
spList1->EndUpdate();

455
How do you embed HTML options into the anchor click string

// AnchorClick event - Occurs when an anchor element is clicked.
void OnAnchorClickList1(LPCTSTR   AnchorID,LPCTSTR   Options)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	OutputDebugStringW( L"AnchorID" );
	OutputDebugStringW( L"Options" );
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Car")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("<a mazda_1;options for 1>Mazda <b>1</b></a>");
	var_Items->Add("<a mazda_2;options for 2>Mazda <b>2</b></a>");
	var_Items->Add("<a mazda_3;options for 3a>Mazda <b>3.a</b></a>");
	var_Items->Add("<a mazda_3;options for 3b>Mazda <b>3.b</b></a>");
spList1->EndUpdate();

454
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 3)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAEGg4BVEIQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQCWIAzATGYBRfIUEgjBM6ExwG78e") +
"gBHp/ZpkACIJJAaRjHQdJxGKKMQB9DIhCZpeKhWgkKIJBzOEyBRC4ERBGqNGrsIgLEqWZpnWhaNpWXYTLyBN64LhuK46g53O6wLxvK6hEr2dJ/YBcIAOfghf4NQ7EMRx" +
"LC8Mw3BDvYDkOAABAIgI=");
spList1->PutSelBackColor(0x1fffffe);
spList1->PutShowFocusRect(VARIANT_FALSE);
spList1->GetColumns()->Add(L"Items");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutItemBackColor(var_Items->Add("red"),RGB(255,0,0));
	var_Items->PutItemBackColor(var_Items->Add("blue"),RGB(0,0,255));
	var_Items->PutItemBackColor(var_Items->Add("green"),RGB(0,255,0));
spList1->EndUpdate();

453
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutSelBackMode(EXLISTLib::exTransparent);
spList1->PutShowFocusRect(VARIANT_FALSE);
spList1->GetColumns()->Add(L"Items");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutItemBackColor(var_Items->Add("red"),RGB(255,0,0));
	var_Items->PutItemBackColor(var_Items->Add("blue"),RGB(0,0,255));
	var_Items->PutItemBackColor(var_Items->Add("green"),RGB(0,255,0));
spList1->EndUpdate();

452
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutSelBackColor(spList1->GetBackColor());
spList1->PutSelForeColor(spList1->GetForeColor());
spList1->PutShowFocusRect(VARIANT_TRUE);
spList1->GetColumns()->Add(L"Items");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutItemBackColor(var_Items->Add("red"),RGB(255,0,0));
	var_Items->PutItemBackColor(var_Items->Add("blue"),RGB(0,0,255));
	var_Items->PutItemBackColor(var_Items->Add("green"),RGB(0,255,0));
spList1->EndUpdate();

451
I am using the FormatColumn property, but is it also possible to have a blank field when the value is '0'. I've tried the 'leading zero' flag in the FormatColumn, but that did not work

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Currency")))->PutFormatColumn(L"int(value) != 0 ? (value format `0||3|,`) : ``");
spList1->GetItems()->Add(long(123456789));
spList1->GetItems()->Add(long(1234));
spList1->GetItems()->Add(long(0));
spList1->GetItems()->Add(long(2345));

450
Do you have a VB sample on how to use .FormatColumn to show this number '123456789' like '123,456,789'

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Currency")))->PutFormatColumn(L"value format `0||3|,`");
spList1->GetItems()->Add(long(123456789));
spList1->GetItems()->Add(long(1234));

449
Is it possible to change the image while do OLE Drag and Drop operations

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragList1(LPDISPATCH   Data,long FAR*   AllowedEffects)
{
	// Data.SetData(Items.FocusItem)
}

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->GetColumns()->Add(L"Default");
spList1->GetItems()->Add("Item 1");
spList1->GetItems()->Add("Item 2");
spList1->PutOLEDropMode(EXLISTLib::exOLEDropManual);
spList1->PutHTMLPicture(L"OLEDragDropImage","C:\\Program Files\\Exontrol\\ExList\\Sample\\VB\\UNICODE\\unicode.jpg");

448
Is it possible to change the image while do OLE Drag and Drop operations

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragList1(LPDISPATCH   Data,long FAR*   AllowedEffects)
{
	// Data.SetData(Items.FocusItem)
}

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->GetColumns()->Add(L"Default");
spList1->GetItems()->Add("Item 1");
spList1->GetItems()->Add("Item 2");
spList1->PutOLEDropMode(EXLISTLib::exOLEDropManual);
spList1->GetVisualAppearance()->Add(1,"C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\EBN\\xpbselIcon.ebn");
spList1->PutBackground(EXLISTLib::exDragDropAfter,0x1000000);
spList1->PutBackground(EXLISTLib::exDragDropBefore,RGB(255,255,255));

447
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a snapshot
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spList1->PutHTMLPicture(L"p1","c:\\exontrol\\images\\card.png");
spList1->PutHTMLPicture(L"p2","c:\\exontrol\\images\\sun.png");
spList1->PutAutoDrag(EXLISTLib::exAutoDragCopySnapShot);
spList1->PutShowFocusRect(VARIANT_FALSE);
spList1->PutDefaultItemHeight(26);
spList1->GetColumns()->Add(L"Task");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaptionFormat(var_Items->Add("<img>p1:32</img> Group 1"),long(0),EXLISTLib::exHTML);
	var_Items->PutCaptionFormat(var_Items->Add("<img>p2:32</img> Group 2"),long(0),EXLISTLib::exHTML);
spList1->EndUpdate();

446
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a image

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutHTMLPicture(L"p1","c:\\exontrol\\images\\card.png");
spList1->PutHTMLPicture(L"p2","c:\\exontrol\\images\\sun.png");
spList1->PutHeaderHeight(24);
spList1->PutDefaultItemHeight(48);
spList1->PutDrawGridLines(EXLISTLib::GridLinesEnum(0xfffffffc | EXLISTLib::exVLines));
spList1->PutGridLineColor(RGB(240,240,240));
spList1->PutSelBackMode(EXLISTLib::exTransparent);
spList1->PutColumnAutoResize(VARIANT_FALSE);
spList1->PutContinueColumnScroll(VARIANT_FALSE);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExList\\Sample\\Access\\SAMPLE.ACCDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spList1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spList1->GetColumns()->GetItem(long(0))->PutDef(EXLISTLib::exCaptionFormat,long(1));
spList1->GetColumns()->GetItem(long(0))->PutFormatColumn(L"value + ` <img>p` + (1 + (value mod 3 ) ) + `</img>`");
spList1->GetColumns()->GetItem(long(0))->PutWidth(112);
spList1->PutAutoDrag(EXLISTLib::exAutoDragCopyImage);
spList1->PutSingleSel(VARIANT_FALSE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutSelectItem(1,VARIANT_TRUE);
	var_Items->PutSelectItem(2,VARIANT_TRUE);
	var_Items->PutSelectItem(3,VARIANT_TRUE);
spList1->EndUpdate();

445
How can copy and paste the selection to Microsoft Word, Excel or any OLE compliant application, as a text

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_FALSE);
spList1->PutContinueColumnScroll(VARIANT_FALSE);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExList\\Sample\\Access\\SAMPLE.ACCDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spList1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spList1->PutAutoDrag(EXLISTLib::exAutoDragCopyText);
spList1->PutSingleSel(VARIANT_FALSE);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutSelectItem(1,VARIANT_TRUE);
	var_Items->PutSelectItem(3,VARIANT_TRUE);
	var_Items->PutSelectItem(4,VARIANT_TRUE);
	var_Items->PutSelectItem(5,VARIANT_TRUE);
spList1->EndUpdate();

444
How can I change the row's position to another, by drag and drop. Is it possible

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutAutoDrag(EXLISTLib::exAutoDragPosition);
spList1->GetColumns()->Add(L"Task");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
	var_Items->Add("Item 4");
spList1->EndUpdate();

443
Does your control support subscript or superscript, in HTML captions

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Column")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
spList1->GetItems()->Add("<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1");

442
Is there any property I can save and restore automatically the current setting, column position, size, and so on (2)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetColumns()->Add(L"Column");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
spList1->PutLayout(L"Select=\"0\";SingleSort=\"C0:2\";Columns=1");
spList1->EndUpdate();

441
Is there any property I can save and restore automatically the current setting, column position, size, and so on (1)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetColumns()->Add(L"Column");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
spList1->PutLayout(_bstr_t("gBjAAwAAuABmABpABsAB0ABlAByhoAPIAOEPAA9gYABoABQAgUEg0XN4AOcJicKkpujMbjsfkMFk0YhkQgUOjUEl8gjcGO0ok8KMULjEaGMcj08kQAO8oMkTNEtGwAG") +
"QAqc7gUlhh1ABtAEsk9GpEfhElgVcsMupNlnlonlaAFcr0shUsp8QPEtnVJqJhmcIhUMh0QiU5sYAqMngUSuEMw07k8Qv0SgVRrNEuVflF2jF5x9JyNEm0TjQijemyE0" +
"jE3t+YruauoAu4Az1qj9BzRn0UzksSnAA0xDjY6qnAw8OiUQ0dwzN0zWz2t7j8/xURAGNvWH6k8xlEhklhEI0O/6QAgI=");
spList1->EndUpdate();

440
Is there any public method to export the selected data

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"C1");
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C2")))->PutFormatColumn(L"1 index `A-Z`");
	((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C3")))->PutFormatColumn(L"100 index ``");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->PutSelectItem(var_Items->Add("Item 2"),VARIANT_TRUE);
	var_Items->Add("Item 3");
spList1->EndUpdate();
OutputDebugStringW( L"Export CSV Selected Items Only:" );
OutputDebugStringW( _bstr_t(spList1->Export("","sel")) );

439
How can I change the visual aspect of the links in the sort bar

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutColumnAutoResize(VARIANT_FALSE);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExList\\Sample\\Access\\SAMPLE.ACCDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spList1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spList1->PutSortBarHeight(24);
spList1->PutHeaderHeight(24);
spList1->PutBackColorSortBar(RGB(240,240,240));
spList1->PutBackColorSortBarCaption(spList1->GetBackColor());
spList1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAEGg4BdsIQAAYAQGKIYBkAKBQAGaAoDDgNw0QwAAxjMK0EwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBSFDcOwHGyQYDkCQpA") +
"AWL4tCyMc7QHKAWhrEAbJjgQYJUh+TQAAZCIJRXRQAL/K6rKwnSCQIgkUBpGKdBynEYoYxAfyESCJWyIahWAwoQjUMB1HLQAAxC5kKbkIxyBABFBdVjVeBYG78Bz+ABj" +
"EovbAMEwPBqAMwmIAZDheA4FR4AGhTXKcbxrFaXZSzKckPRoADSZq1Sg5LjDJI2ABqU6ABqNLZtJKsZS4apABrWeZ3Q7QMLdFTwA4PH6EZhxXAYbTVeaPZjQIBAgI");
spList1->PutSortBarVisible(VARIANT_TRUE);
spList1->PutSortBarCaption(L"Drag a <b>column</b> header here to group by that column.");
EXLISTLib::IColumnPtr var_Column = spList1->GetColumns()->GetItem(long(1));
	var_Column->PutAlignment(EXLISTLib::CenterAlignment);
	var_Column->PutDef(EXLISTLib::exCellBackColor,long(15790320));
	var_Column->PutSortOrder(VARIANT_TRUE);
EXLISTLib::IColumnPtr var_Column1 = spList1->GetColumns()->GetItem(long(5));
	var_Column1->PutAlignment(EXLISTLib::CenterAlignment);
	var_Column1->PutDef(EXLISTLib::exCellBackColor,long(16119285));
	var_Column1->PutSortOrder(VARIANT_TRUE);
spList1->PutBackground(EXLISTLib::exSortBarLinkColor,0x1000000);
spList1->EndUpdate();

438
How can I have a case-insensitive filter (exFilterDoCaseSensitive flag is not set)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutMarkSearchColumn(VARIANT_FALSE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Car")));
		var_Column->PutDisplayFilterButton(VARIANT_TRUE);
		var_Column->PutFilterType(EXLISTLib::exFilter);
		var_Column->PutFilter(L"MAZDA");
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Equipment")));
		var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
		var_Column1->PutDisplayFilterPattern(VARIANT_FALSE);
		var_Column1->PutCustomFilter(L"Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*");
		var_Column1->PutFilterType(EXLISTLib::exPattern);
		var_Column1->PutFilter(L"AIR BAG");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Mazda"),long(1),"Air Bag");
	var_Items->PutCaption(var_Items->Add("Toyota"),long(1),"Air Bag,Air condition");
	var_Items->PutCaption(var_Items->Add("Ford"),long(1),"Air condition");
	var_Items->PutCaption(var_Items->Add("Nissan"),long(1),"Air Bag,ABS,ESP");
	var_Items->PutCaption(var_Items->Add("Mazda"),long(1),"Air Bag, ABS,ESP");
	var_Items->PutCaption(var_Items->Add("Mazda"),long(1),"ABS,ESP");
spList1->ApplyFilter();
spList1->EndUpdate();

437
How can I have a case-sensitive filter

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutMarkSearchColumn(VARIANT_FALSE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Car")));
		var_Column->PutDisplayFilterButton(VARIANT_TRUE);
		var_Column->PutFilterType(EXLISTLib::FilterTypeEnum(EXLISTLib::exFilterDoCaseSensitive | EXLISTLib::exFilter));
		var_Column->PutFilter(L"Mazda");
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Equipment")));
		var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
		var_Column1->PutDisplayFilterPattern(VARIANT_FALSE);
		var_Column1->PutCustomFilter(L"Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*");
		var_Column1->PutFilterType(EXLISTLib::FilterTypeEnum(EXLISTLib::exFilterDoCaseSensitive | EXLISTLib::exPattern));
		var_Column1->PutFilter(L"Air Bag");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Mazda"),long(1),"Air Bag");
	var_Items->PutCaption(var_Items->Add("Toyota"),long(1),"Air Bag,Air condition");
	var_Items->PutCaption(var_Items->Add("Ford"),long(1),"Air condition");
	var_Items->PutCaption(var_Items->Add("Nissan"),long(1),"Air Bag,ABS,ESP");
	var_Items->PutCaption(var_Items->Add("Mazda"),long(1),"Air Bag, ABS,ESP");
	var_Items->PutCaption(var_Items->Add("Mazda"),long(1),"ABS,ESP");
spList1->ApplyFilter();
spList1->EndUpdate();

436
I have several columns, but noticed that the filter is using AND between columns, but I need OR clause for filtering. Is it possible

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Item")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilter(L"Child 1");
	var_Column->PutFilterType(EXLISTLib::exFilter);
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Date")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column1->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column1->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exNoItems));
	var_Column1->PutFilter(L"COleDateTime(2010,12,28,0,00,00).operator DATE()");
	var_Column1->PutFilterType(EXLISTLib::exDate);
spList1->PutFilterCriteria(L"%0 or %1");
spList1->PutDescription(EXLISTLib::exFilterBarOr,L"<font ;18><fgcolor=FF0000>or</fgcolor></font>");
spList1->PutDescription(EXLISTLib::exFilterBarAnd,L"<font ;18><fgcolor=FF0000>and</fgcolor></font>");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->PutCaption(var_Items->Add("Child 1"),long(1),COleDateTime(2010,12,27,0,00,00).operator DATE());
	var_Items->PutCaption(var_Items->Add("Child 2"),long(1),COleDateTime(2010,12,28,0,00,00).operator DATE());
	h = var_Items->Add("Root 2");
	var_Items->PutCaption(var_Items->Add("Child 1"),long(1),COleDateTime(2010,12,29,0,00,00).operator DATE());
	var_Items->PutCaption(var_Items->Add("Child 2"),long(1),COleDateTime(2010,12,30,0,00,00).operator DATE());
spList1->ApplyFilter();
spList1->EndUpdate();

435
Is it possible exclude the dates being selected in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Date")));
	var_Column->PutSortType(EXLISTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exNoItems));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add(COleDateTime(2010,12,27,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,28,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,29,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,30,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,31,0,00,00).operator DATE());
spList1->EndUpdate();

434
How can I display a calendar control inside the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Date")));
	var_Column->PutSortType(EXLISTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox | EXLISTLib::exNoItems));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add(COleDateTime(2010,12,27,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,28,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,29,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,30,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,31,0,00,00).operator DATE());
spList1->EndUpdate();

433
Is it possible to include the dates as checkb-boxes in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Dates")));
	var_Column->PutSortType(EXLISTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
	var_Column->PutFilter(L"to 12/27/2010");
	var_Column->PutFilterType(EXLISTLib::exDate);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add(COleDateTime(2010,12,27,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,28,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,29,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,30,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,31,0,00,00).operator DATE());
spList1->ApplyFilter();
spList1->EndUpdate();

432
How can I filter items for dates before a specified date

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Dates")));
	var_Column->PutSortType(EXLISTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exNoItems));
	var_Column->PutFilter(L"to 12/27/2010");
	var_Column->PutFilterType(EXLISTLib::exDate);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add(COleDateTime(2010,12,27,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,28,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,29,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,30,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,31,0,00,00).operator DATE());
spList1->ApplyFilter();
spList1->EndUpdate();

431
Is it possible to filter dates

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Dates")));
	var_Column->PutSortType(EXLISTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exNoItems));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add(COleDateTime(2010,12,27,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,28,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,29,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,30,0,00,00).operator DATE());
	var_Items->Add(COleDateTime(2010,12,31,0,00,00).operator DATE());
spList1->EndUpdate();

430
Is it possible to change the Exclude field name to something different, in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutDescription(EXLISTLib::exFilterBarExclude,L"Leaving out");
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
spList1->EndUpdate();

429
How can I display the Exclude field in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowExclude | EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
spList1->EndUpdate();

428
Is it possible to show and ensure the focused item from the control, in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowFocusItem | EXLISTLib::exShowCheckBox));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
	var_Items->PutSelectItem(var_Items->Add("Child 2"),VARIANT_TRUE);
spList1->EndUpdate();

427
Is it possible to show only blanks items with no listed items from the control

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowBlanks | EXLISTLib::exNoItems));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
spList1->EndUpdate();

426
How can I include the blanks items in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::FilterListEnum(EXLISTLib::exShowBlanks | EXLISTLib::exShowCheckBox));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
spList1->EndUpdate();

425
How can I select multiple items in the drop down filter window, using check-boxes

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::exShowCheckBox);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
spList1->EndUpdate();

424
Is it possible to allow a single item being selected in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::exSingleSel);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
spList1->EndUpdate();

423
How can I display no (All) item in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutDescription(EXLISTLib::exFilterBarAll,L"");
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::exNoItems);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
spList1->EndUpdate();

422
Is it possible to display no items in the drop down filter window, so only the pattern is visible

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutFilterList(EXLISTLib::exNoItems);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Root 1");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
	h = var_Items->Add("Root 2");
	var_Items->Add("Child 1");
	var_Items->Add("Child 2");
spList1->EndUpdate();

421
How can I sort the value gets listed in the drop down filter window

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->PutMarkSearchColumn(VARIANT_FALSE);
spList1->PutDescription(EXLISTLib::exFilterBarAll,L"");
spList1->PutDescription(EXLISTLib::exFilterBarBlanks,L"");
spList1->PutDescription(EXLISTLib::exFilterBarNonBlanks,L"");
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"P1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXLISTLib::exSortItemsDesc);
EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"P2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column1->PutFilterList(EXLISTLib::exSortItemsAsc);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Z3");
	var_Items->PutCaption(h,long(1),"C");
	var_Items->PutCaption(var_Items->Add("Z1"),long(1),"B");
	var_Items->PutCaption(var_Items->Add("Z2"),long(1),"A");

420
How can I add or change the padding (spaces) for captions in the control's header

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Padding-Left")))->PutDef(EXLISTLib::exHeaderPaddingLeft,long(18));
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Padding-Right")));
	var_Column->PutDef(EXLISTLib::exHeaderPaddingRight,long(18));
	var_Column->PutHeaderAlignment(EXLISTLib::RightAlignment);
spList1->EndUpdate();

419
Do you have any plans to add cell spacing and cell padding to the cells

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutDrawGridLines(EXLISTLib::GridLinesEnum(0xfffffffc | EXLISTLib::exVLines));
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Padding-Left")));
	var_Column->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutDef(EXLISTLib::exCellPaddingLeft,long(18));
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"No-Padding")))->PutDef(EXLISTLib::exCellHasCheckBox,VARIANT_TRUE);
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Empty")))->PutPosition(0);
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutCaption(var_Items->Add("Item A.1"),long(1),"Item A.2");
	var_Items->PutCaption(var_Items->Add("Item B.1"),long(1),"Item B.2");
	var_Items->PutCaption(var_Items->Add("Item C.1"),long(1),"Item C.2");
spList1->EndUpdate();

418
Is it possible display numbers in the same format no matter of regional settings in the control panel

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default positive)'");
	h = var_Items->Add(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '2|.|3|,|1|1')");
	h = var_Items->Add(double(-100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default negative)'");
	h = var_Items->Add(double(-100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '2|.|3|,|1|1')");
spList1->EndUpdate();

417
Is it possible to add a 0 for numbers less than 1 instead .7 to show 0.8

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(double(0.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(double(0.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '|||||0') +  ' <fgcolor=808080>(Display no leading zeros)'");
spList1->EndUpdate();

416
How can I specify the format for negative numbers

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(double(-100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(double(-100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '||||1') +  ' <fgcolor=808080>(Negative sign, number; for example, -1.1)'");
spList1->EndUpdate();

415
Is it possible to change the grouping character when display numbers

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '|||-') +  ' <fgcolor=808080>(grouping character is -)'");
spList1->EndUpdate();

414
How can I display numbers with 2 digits in each group

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '||2') +  ' <fgcolor=808080>(grouping by 2 digits)'");
spList1->EndUpdate();

413
How can I display my numbers using a different decimal separator

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '|;') +  ' <fgcolor=808080>(decimal separator is <b>;</b>)'");
spList1->EndUpdate();

412
Is it possible to display the numbers using 3 (three) digits

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Def")))->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '3') +  ' <fgcolor=808080>(3 digits)'");
	h = var_Items->Add(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format 2) +  '  <fgcolor=808080>(2 digits)'");
	h = var_Items->Add(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format 1) +  ' <fgcolor=808080>(1 digit)'");
spList1->EndUpdate();

411
Is it possible to format numbers

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutMarkSearchColumn(VARIANT_FALSE);
spList1->PutSelBackColor(spList1->GetBackColor());
spList1->PutSelForeColor(spList1->GetForeColor());
spList1->PutShowFocusRect(VARIANT_TRUE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"Name");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"A")));
		var_Column->PutSortType(EXLISTLib::SortNumeric);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutWidth(36);
		var_Column->PutFormatColumn(L"len(value) ? value + ' +'");
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"B")));
		var_Column1->PutSortType(EXLISTLib::SortNumeric);
		var_Column1->PutAllowSizing(VARIANT_FALSE);
		var_Column1->PutWidth(36);
		var_Column1->PutFormatColumn(L"len(value) ? value + ' +'");
	EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"C")));
		var_Column2->PutSortType(EXLISTLib::SortNumeric);
		var_Column2->PutAllowSizing(VARIANT_FALSE);
		var_Column2->PutWidth(36);
		var_Column2->PutFormatColumn(L"len(value) ? value + ' ='");
	EXLISTLib::IColumnPtr var_Column3 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"A+B+C")));
		var_Column3->PutSortType(EXLISTLib::SortNumeric);
		var_Column3->PutWidth(64);
		var_Column3->PutComputedField(L"dbl(%1)+dbl(%2)+dbl(%3)");
		var_Column3->PutFormatColumn(_bstr_t("type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=00") +
"00FF>+'+(value format '2|.|3|,' ): '0.00') )");
		var_Column3->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	long h = var_Items->Add("Item");
	var_Items->PutCaptionFormat(h,long(4),EXLISTLib::exComputedField);
	h = var_Items->Add("Item 1");
	var_Items->PutCaption(h,long(1),long(7));
	var_Items->PutCaption(h,long(2),long(3));
	var_Items->PutCaption(h,long(3),long(1));
	h = var_Items->Add("Item 2");
	var_Items->PutCaption(h,long(1),long(-2));
	var_Items->PutCaption(h,long(2),long(-2));
	var_Items->PutCaption(h,long(3),long(-4));
	h = var_Items->Add("Item 3");
	var_Items->PutCaption(h,long(1),long(2));
	var_Items->PutCaption(h,long(2),long(2));
	var_Items->PutCaption(h,long(3),long(-4));
spList1->EndUpdate();

410
Is it possible background color displayed when the mouse passes over an item

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetColumns()->Add(L"Def");
spList1->PutHotBackColor(RGB(0,0,128));
spList1->PutHotForeColor(RGB(255,255,255));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item A");
	var_Items->Add("Item B");
	var_Items->Add("Item C");
spList1->EndUpdate();

409
Is it possible to specify the cell's value but still want to display some formatted text instead the value

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutMarkSearchColumn(VARIANT_FALSE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"Name");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Values")));
		var_Column->PutSortType(EXLISTLib::SortNumeric);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutWidth(64);
		var_Column->PutFormatColumn(L"((0:=dbl(value)) < 10? '<fgcolor=808080><font ;7>' :'<b>') + currency(=:0)");
		var_Column->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutFormatCell(var_Items->Add("Item A"),long(1),L"`<none>`");
	var_Items->PutCaption(var_Items->Add("Item 1"),long(1),long(10));
	var_Items->PutCaption(var_Items->Add("Item 2"),long(1),long(15));
	var_Items->PutCaption(var_Items->Add("Item 3"),long(1),long(25));
spList1->EndUpdate();

408
I am using the FormatColumn to display the current currency, but would like hide some values. Is it possible

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutMarkSearchColumn(VARIANT_FALSE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"Name");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Values")));
		var_Column->PutSortType(EXLISTLib::SortNumeric);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutWidth(64);
		var_Column->PutFormatColumn(L"((0:=dbl(value)) < 10? '<fgcolor=808080><font ;7>' :'<b>') + currency(=:0)");
		var_Column->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->PutFormatCell(var_Items->Add("Item A"),long(1),L" ");
	var_Items->PutCaption(var_Items->Add("Item 1"),long(1),long(10));
	var_Items->PutCaption(var_Items->Add("Item 2"),long(1),long(15));
	var_Items->PutCaption(var_Items->Add("Item 3"),long(1),long(25));
spList1->EndUpdate();

407
I am using the FormatColumn to format my columns. Is it possible to ignore the SelForeColor, so the foreground color for selected items does not override my settings

// SelectionChanged event - Fired after a new item is selected.
void OnSelectionChangedList1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
		var_Items->ClearItemBackColor(-1);
		var_Items->PutItemBackColor(var_Items->GetSelectedItem(0),RGB(128,255,255));
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutMarkSearchColumn(VARIANT_FALSE);
spList1->PutSelForeColor(spList1->GetForeColor());
spList1->PutSelBackColor(spList1->GetBackColor());
spList1->PutShowFocusRect(VARIANT_FALSE);
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"Format")));
		var_Column->PutFormatColumn(_bstr_t("type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=00") +
"00FF>+'+(value format '2|.|3|,' ): '0.00') )");
		var_Column->PutDef(EXLISTLib::exCaptionFormat,long(1));
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add(long(10));
	var_Items->Add(long(-8));
spList1->EndUpdate();

406
Is it possible to change the height for all items at once

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->GetColumns()->Add(L"Items");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
	var_Items->Add("Item 3");
	var_Items->Add("Item 4");
spList1->EndUpdate();
spList1->PutDefaultItemHeight(12);
spList1->GetItems()->PutItemHeight(-1,12);

405
How can I change the shape of the line to be shown when user drag and drop data over the control

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragList1(LPDISPATCH   Data,long FAR*   AllowedEffects)
{
	// Data.SetData("data to be dragged")
}

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->PutOLEDropMode(EXLISTLib::exOLEDropManual);
spList1->GetVisualAppearance()->Add(1,"C:\\Program Files\\Exontrol\\ExList\\Sample\\VB\\DragDrop\\insert_bottom.ebn");
spList1->PutBackground(EXLISTLib::exListOLEDropPosition,0x1000000);
spList1->GetColumns()->Add(L"Default");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");

404
How can I highlight the item from cursor when the user drag and drop data over the control

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragList1(LPDISPATCH   Data,long FAR*   AllowedEffects)
{
	// Data.SetData("data to be dragged")
}

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->PutOLEDropMode(EXLISTLib::exOLEDropManual);
spList1->PutBackground(EXLISTLib::exListOLEDropPosition,RGB(1,0,0));
spList1->GetColumns()->Add(L"Default");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");

403
How can I start drag and drop items

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragList1(LPDISPATCH   Data,long FAR*   AllowedEffects)
{
	// Data.SetData("to be carried by drag and drop")
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'
		#import <ExList.dll>
		using namespace EXLISTLib;
	*/
	EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
	AllowedEffects = 1;
}

EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->PutOLEDropMode(EXLISTLib::exOLEDropManual);
spList1->GetColumns()->Add(L"Default");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("Item 1");
	var_Items->Add("Item 2");
spList1->EndUpdate();

402
When I'm trying to show string with "line break" character (vbCrLF) in a textbox, it shows 2 squares. Is there any way to hide these squares

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
EXLISTLib::IColumnsPtr var_Columns = spList1->GetColumns();
	var_Columns->Add(L"Value");
	EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"CellSingleLine = False")));
		var_Column->PutComputedField(L"%0");
		var_Column->PutDef(EXLISTLib::exCellSingleLine,VARIANT_FALSE);
	EXLISTLib::IColumnPtr var_Column1 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"FormatColumn/replace CRLF")));
		var_Column1->PutComputedField(L"%0");
		var_Column1->PutFormatColumn(L"value replace `\\r\\n` with ``");
	EXLISTLib::IColumnPtr var_Column2 = ((EXLISTLib::IColumnPtr)(var_Columns->Add(L"FormatColumn/replace TAB,CRLF")));
		var_Column2->PutComputedField(L"%0");
		var_Column2->PutFormatColumn(L"(value replace `\\t` with ``) replace `\\r\\n` with ``");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("a\\ta\\r\\nb\\tb");

401
The Column.Alignment property does not seem to work for cells with images in them. What can be done

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXLISTLib' for the library: 'ExList 1.0 Control Library'

	#import <ExList.dll>
	using namespace EXLISTLib;
*/
EXLISTLib::IListPtr spList1 = GetDlgItem(IDC_LIST1)->GetControlUnknown();
spList1->BeginUpdate();
spList1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spList1->PutDrawGridLines(EXLISTLib::exAllLines);
spList1->PutHeaderHeight(24);
spList1->PutDefaultItemHeight(24);
EXLISTLib::IColumnPtr var_Column = ((EXLISTLib::IColumnPtr)(spList1->GetColumns()->Add(L"Image")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutHTMLCaption(L"<img>1</img>");
	var_Column->PutHeaderAlignment(EXLISTLib::CenterAlignment);
	var_Column->PutAlignment(EXLISTLib::CenterAlignment);
	var_Column->PutDef(EXLISTLib::exCaptionFormat,long(1));
spList1->GetColumns()->Add(L"Rest");
EXLISTLib::IItemsPtr var_Items = spList1->GetItems();
	var_Items->Add("<img>1</img>");
	var_Items->Add("<img>2</img>");
	var_Items->Add("<img>3</img>");
spList1->EndUpdate();